import com.google.common.base.Strings;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.CsvFileSource;
import org.junit.jupiter.params.provider.MethodSource;
import org.junit.jupiter.params.provider.ValueSource;

import java.util.stream.Stream;

public class demo02 {
    //参数化：

    //1、单参数——只能传递一种类型数据
    @ParameterizedTest
    @ValueSource(ints = {1,2,3})
    void test01(int num1){
        System.out.println(num1);
    }

    @ParameterizedTest
    @ValueSource(strings ={"1.1","2.2","3.3"})
    void test02(String num2){
        System.out.println(num2);
    }

    //2、CSV获取参数——只能传递同种类型数据
    @ParameterizedTest
    @CsvFileSource(resources ="test1.csv")
    void test03(String name){
        System.out.println(name);
    }

    //3、方法获取参数
    @ParameterizedTest
    @MethodSource("Generator")
    void test04(int num,String name){
        System.out.println(num+" : "+name);
    }

    public static Stream<Arguments> Generator() {
        return Stream.of(Arguments.arguments(1,"张三"),
                Arguments.arguments(2,"李四"),
                Arguments.arguments(3,"王五")
        );
    }


}


